
#ifndef _MEMBER_BEVENT_H_
#define _MEMBER_BEVENT_H_

#include <BEvent>
#include <BChangeEvent>
#include <BMouseEvent>
#include <BFocusEvent>
#include <BDrag>
#include <BCursor>

#define event_member(event)			((member_BEvent*)((BEvent*)event)->_ptr)

namespace BWE
{
	class member_BEvent
	{
	public:
		member_BEvent();
		~member_BEvent();

		Event		type;
		double		time;
		BValue		value;

		//change event
		Change		changeType;

		//focus event
		Focus		focusType;
		Key			key;

		//mouse event, not for move event
		BPoint		pos;
		Button		button;
		BPoint		absolutePos;
		BPoint		globalPos;
		int			wheel;

		//drag event
		BHolder<BDrag>	drag;
		BCursorHolder	drag_cursor;
		BString			drag_tips;
	};
}

#endif
